home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / pkey12_1.zip / OP.LSP < prev    next >
Text File  |  1992-09-13  |  2KB  |  48 lines

  1. ;Make an opening of specified size.
  2. ;
  3. ;
  4. (setq oer  *error* *error* err)
  5. (pre)
  6. (if (= os1 nil)(setq os1 36))
  7. (setq dfop1 os1)
  8. (initget (+ 2 4))
  9. (setq os1(getdist(strcat "Enter opening size <" (rtos os1) ">: ")))
  10. (if (= os1 nil)(setq os1 dfop1))
  11. (initget 1 "Left Right Center")
  12. (setq an1(getkword "Break from Left/Right/Center: "))
  13. (setq ent1 (entsel "\nPick break point: "))
  14. (setq e1 (car ent1))
  15. (setvar "aperture" 3)
  16. (setq clyr(getvar "clayer"))
  17. (setq pt1 (car (cdr ent1)))
  18. (setq pt1 (osnap pt1 "near"))
  19. (setq lyrnm (cdr (assoc 8 (entget e1))))
  20. (setq sp (cdr (assoc 10 (entget e1))))
  21. (setq ep (cdr (assoc 11 (entget e1))))
  22. (setq temp1 (osnap pt1 "NEAR"))
  23. (setq atemp (angle (osnap pt1 "end") temp1))
  24. (setq temp1 (polar pt1 atemp 8))  ;reset temp1
  25. (setvar "aperture" 60)
  26. (entdel e1)
  27. (setq temp2(osnap temp1 "near"))
  28. (entdel e1)
  29. (setvar "aperture" 4)
  30. (setq up (/ pi 2))
  31. (setq dn (* pi 1.5))
  32. (setq a1 (angle sp ep))
  33. (cond((= an1 "Left")(if(and (> a1 up)(<= a1 dn))(setq a1 (- a1 pi))))
  34.      ((= an1 "Right")(if(or (<= a1 up)(> a1 dn))(setq a1 (+ a1 pi))))
  35.      ((= an1 "Center")(setq pt1(polar pt1 a1 (* (/ os1 2) -1.0)))))
  36. (setq a2 (angle temp1 temp2))
  37. (setq pt2 (polar pt1 a1 os1))
  38. (setq pt3 (polar pt1 a2 (distance temp1 temp2)))
  39. (setq pt4 (polar pt2 a2 (distance temp1 temp2)))
  40. (setvar "blipmode" 0)
  41. (command "layer" "M" lyrnm "")
  42. (command "break" e1 pt1 pt2)
  43. (command "break" pt3 "f" pt3 pt4)
  44. (command "line" pt2 pt4 "")
  45. (command "line" pt1 pt3 "")
  46. (setq an1 nil os1 nil ent1 nil e1 nil pt1 nil et1a nil lyrnm nil sp nil ep nil temp1 nil atemp nil up nil dn nil a1 nil a2 nil pt1 nil pt2 nil pt3 nil pt4 nil)
  47. (post)
  48. (princ)